package main

import "fmt"

func main() {
	sm := &studentMgr{
		students: make(map[int]*student, 0),
	}

	for {
		fmt.Println("1. 添加  2.查看  3.删除  4.修改")
		fmt.Print("输入要执行的操作编号：")
		var do rune
		_, err := fmt.Scan(&do)
		if err != nil {
			fmt.Println("输入有误！")
		}
		switch do {
		case 1:
			var id int
			var name string
			var age rune
			var score rune
			fmt.Print("输入id: ")
			fmt.Scan(&id)
			fmt.Print("输入姓名: ")
			fmt.Scan(&name)
			fmt.Print("输入年龄: ")
			fmt.Scan(&age)
			fmt.Print("输入分数: ")
			fmt.Scan(&score)
			sm.Add(&student{
				ID:    id,
				Age:   age,
				Score: score,
				Name:  name,
			})
			fmt.Println("添加成功")
		case 2:
			sm.ShowList()
		case 3:
			var id int
			fmt.Print("输入要删除的id: ")
			fmt.Scan(&id)
			sm.DeleteByID(id)
		case 4:
			var id int
			var name string
			var age rune
			var score rune
			fmt.Print("请输入想要修改的id:")
			fmt.Scan(&id)
			fmt.Print("输入修改后姓名:")
			fmt.Scan(&name)
			fmt.Print("输入修改后年龄:")
			fmt.Scan(&age)
			fmt.Print("输入修改后分数:")
			fmt.Scan(&score)
		default:
			fmt.Println("输入有误！")
		}
	}
}
